package com.dragon.modules.yuegou.entity.points;

import com.baomidou.mybatisplus.annotation.TableName;
import com.dragon.modules.yuegou.enums.points.ApplyStatus;
import com.dragon.modules.yuegou.enums.points.ApplyType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 积分兑换申请实体类<br>
 * 对应的表为：pt_apply<br>
 * 
 * @author pbuilder generated
 * @date 2019-04-25 09:58:29
 * @company sgy
 * @version 2.0
 */
@TableName("pt_apply")
@ApiModel(description = "积分兑换申请")
public class ApplyEntity {

    /**  */
	protected String id;

    /** 商圈ID */
	@ApiModelProperty("商圈ID")
	protected String busdId;

    /** 会员ID */
	@ApiModelProperty("会员ID")
	protected String memberId;

    /** 手机号 */
	@ApiModelProperty("手机号")
	protected String mobile;

    /** 商户ID */
	@ApiModelProperty("商户ID")
	protected String merchantId;

    /** 商户名称 */
	@ApiModelProperty("商户名称")
	protected String merchantName;

    /** 小票照片 */
	@ApiModelProperty("小票照片")
	protected String ticketPic;

    /** 票号 */
	@ApiModelProperty("票号")
	protected String ticketNum;

    /** 消费金额 */
	@ApiModelProperty("消费金额")
	protected BigDecimal cost;

    /** 消费时间 */
	@ApiModelProperty("消费时间")
	protected LocalDateTime costTime;

    /** 兑换积分 */
	@ApiModelProperty("兑换积分")
	protected Integer points;

    /** [枚举]状态：0-申请中-APPLYFOR、1-申请通过-APPLYPASS、2-驳回-REJECTED */
	@ApiModelProperty("[枚举]状态：0-申请中-APPLYFOR、1-申请通过-APPLYPASS、2-驳回-REJECTED")
	protected ApplyStatus status;

    /** 驳回原因 */
	@ApiModelProperty("驳回原因")
	protected String reason;

    /** [枚举]类型：0-机打-MACHINE_PRINT、1-非机打-WRITE */
	@ApiModelProperty("[枚举]类型：0-机打-MACHINE_PRINT、1-非机打-WRITE")
	protected ApplyType type;

    /** 会员等级id */
	@ApiModelProperty("会员等级id")
	protected String memberLevelId;

    /** 会员等级名称 */
	@ApiModelProperty("会员等级名称")
	protected String memberLevelName;

    /** 等级比例 如1:1 这里只是记录 */
	@ApiModelProperty("等级比例 如1:1 这里只是记录")
	protected String levelProportion;

    /** 积分配比  如30:1 这里只是记录 */
	@ApiModelProperty("积分配比  如30:1 这里只是记录")
	protected String pointProportion;

    /** 备注说明 */
	@ApiModelProperty("备注说明")
	protected String remark;

    /** 是否兑换停车券 */
	@ApiModelProperty("是否兑换停车券")
	protected Boolean isApplyConpon;

    /**  */
	protected String conponId;

    /**  */
	protected LocalDateTime createdTime;

    /**  */
	protected String createdBy;

    /**  */
	protected LocalDateTime modifiedTime;

    /**  */
	protected String modifiedBy;

    /** 逻辑删除，1表示已删除,0表示未删除 */
	@ApiModelProperty("逻辑删除，1表示已删除,0表示未删除")
	protected Boolean del;

    /**  */
	protected String delBy;

    /**  */
	protected LocalDateTime delTime;

	/**
	 * 构造一个空积分兑换申请实体对象
	 */
	public ApplyEntity(){
		super();
	}

	/**
	 * 依据其它对象的信息构造一个积分兑换申请实体对象
	 * 
	 * @param other 其它对象
	 */
	public ApplyEntity(ApplyEntity other){
		super();
     	this.id = other.id;
     	this.busdId = other.busdId;
     	this.memberId = other.memberId;
     	this.mobile = other.mobile;
     	this.merchantId = other.merchantId;
     	this.merchantName = other.merchantName;
     	this.ticketPic = other.ticketPic;
     	this.ticketNum = other.ticketNum;
     	this.cost = other.cost;
     	this.costTime = other.costTime;
     	this.points = other.points;
     	this.status = other.status;
     	this.reason = other.reason;
     	this.type = other.type;
     	this.memberLevelId = other.memberLevelId;
     	this.memberLevelName = other.memberLevelName;
     	this.levelProportion = other.levelProportion;
     	this.pointProportion = other.pointProportion;
     	this.remark = other.remark;
     	this.isApplyConpon = other.isApplyConpon;
     	this.conponId = other.conponId;
     	this.createdTime = other.createdTime;
     	this.createdBy = other.createdBy;
     	this.modifiedTime = other.modifiedTime;
     	this.modifiedBy = other.modifiedBy;
     	this.del = other.del;
     	this.delBy = other.delBy;
     	this.delTime = other.delTime;
	}


	/**
	 * 获取
	 * 
	 * @return id 
	 */
	public String getId() {
		return id;
	}
  	
	/**
	 * 设置
	 * 
	 * @param id 
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 获取商圈ID
	 * 
	 * @return busdId 商圈ID
	 */
	public String getBusdId() {
		return busdId;
	}
  	
	/**
	 * 设置商圈ID
	 * 
	 * @param busdId 商圈ID
	 */
	public void setBusdId(String busdId) {
		this.busdId = busdId;
	}

	/**
	 * 获取会员ID
	 * 
	 * @return memberId 会员ID
	 */
	public String getMemberId() {
		return memberId;
	}
  	
	/**
	 * 设置会员ID
	 * 
	 * @param memberId 会员ID
	 */
	public void setMemberId(String memberId) {
		this.memberId = memberId;
	}

	/**
	 * 获取手机号
	 * 
	 * @return mobile 手机号
	 */
	public String getMobile() {
		return mobile;
	}
  	
	/**
	 * 设置手机号
	 * 
	 * @param mobile 手机号
	 */
	public void setMobile(String mobile) {
		this.mobile = mobile;
	}

	/**
	 * 获取商户ID
	 * 
	 * @return merchantId 商户ID
	 */
	public String getMerchantId() {
		return merchantId;
	}
  	
	/**
	 * 设置商户ID
	 * 
	 * @param merchantId 商户ID
	 */
	public void setMerchantId(String merchantId) {
		this.merchantId = merchantId;
	}

	/**
	 * 获取商户名称
	 * 
	 * @return merchantName 商户名称
	 */
	public String getMerchantName() {
		return merchantName;
	}
  	
	/**
	 * 设置商户名称
	 * 
	 * @param merchantName 商户名称
	 */
	public void setMerchantName(String merchantName) {
		this.merchantName = merchantName;
	}

	/**
	 * 获取小票照片
	 * 
	 * @return ticketPic 小票照片
	 */
	public String getTicketPic() {
		return ticketPic;
	}
  	
	/**
	 * 设置小票照片
	 * 
	 * @param ticketPic 小票照片
	 */
	public void setTicketPic(String ticketPic) {
		this.ticketPic = ticketPic;
	}

	/**
	 * 获取票号
	 * 
	 * @return ticketNum 票号
	 */
	public String getTicketNum() {
		return ticketNum;
	}
  	
	/**
	 * 设置票号
	 * 
	 * @param ticketNum 票号
	 */
	public void setTicketNum(String ticketNum) {
		this.ticketNum = ticketNum;
	}

	/**
	 * 获取消费金额
	 * 
	 * @return cost 消费金额
	 */
	public BigDecimal getCost() {
		return cost;
	}
  	
	/**
	 * 设置消费金额
	 * 
	 * @param cost 消费金额
	 */
	public void setCost(BigDecimal cost) {
		this.cost = cost;
	}

	/**
	 * 获取消费时间
	 * 
	 * @return costTime 消费时间
	 */
	public LocalDateTime getCostTime() {
		return costTime;
	}
  	
	/**
	 * 设置消费时间
	 * 
	 * @param costTime 消费时间
	 */
	public void setCostTime(LocalDateTime costTime) {
		this.costTime = costTime;
	}

	/**
	 * 获取兑换积分
	 * 
	 * @return points 兑换积分
	 */
	public Integer getPoints() {
		return points;
	}
  	
	/**
	 * 设置兑换积分
	 * 
	 * @param points 兑换积分
	 */
	public void setPoints(Integer points) {
		this.points = points;
	}

	/**
	 * 获取[枚举]状态：0-申请中-APPLYFOR、1-申请通过-APPLYPASS、2-驳回-REJECTED
	 * 
	 * @return status [枚举]状态：0-申请中-APPLYFOR、1-申请通过-APPLYPASS、2-驳回-REJECTED
	 */
	public ApplyStatus getStatus() {
		return status;
	}
  	
	/**
	 * 设置[枚举]状态：0-申请中-APPLYFOR、1-申请通过-APPLYPASS、2-驳回-REJECTED
	 * 
	 * @param status [枚举]状态：0-申请中-APPLYFOR、1-申请通过-APPLYPASS、2-驳回-REJECTED
	 */
	public void setStatus(ApplyStatus status) {
		this.status = status;
	}

	/**
	 * 获取驳回原因
	 * 
	 * @return reason 驳回原因
	 */
	public String getReason() {
		return reason;
	}
  	
	/**
	 * 设置驳回原因
	 * 
	 * @param reason 驳回原因
	 */
	public void setReason(String reason) {
		this.reason = reason;
	}

	/**
	 * 获取[枚举]类型：0-机打-MACHINE_PRINT、1-非机打-WRITE
	 * 
	 * @return type [枚举]类型：0-机打-MACHINE_PRINT、1-非机打-WRITE
	 */
	public ApplyType getType() {
		return type;
	}
  	
	/**
	 * 设置[枚举]类型：0-机打-MACHINE_PRINT、1-非机打-WRITE
	 * 
	 * @param type [枚举]类型：0-机打-MACHINE_PRINT、1-非机打-WRITE
	 */
	public void setType(ApplyType type) {
		this.type = type;
	}

	/**
	 * 获取会员等级id
	 * 
	 * @return memberLevelId 会员等级id
	 */
	public String getMemberLevelId() {
		return memberLevelId;
	}
  	
	/**
	 * 设置会员等级id
	 * 
	 * @param memberLevelId 会员等级id
	 */
	public void setMemberLevelId(String memberLevelId) {
		this.memberLevelId = memberLevelId;
	}

	/**
	 * 获取会员等级名称
	 * 
	 * @return memberLevelName 会员等级名称
	 */
	public String getMemberLevelName() {
		return memberLevelName;
	}
  	
	/**
	 * 设置会员等级名称
	 * 
	 * @param memberLevelName 会员等级名称
	 */
	public void setMemberLevelName(String memberLevelName) {
		this.memberLevelName = memberLevelName;
	}

	/**
	 * 获取等级比例 如1:1 这里只是记录
	 * 
	 * @return levelProportion 等级比例 如1:1 这里只是记录
	 */
	public String getLevelProportion() {
		return levelProportion;
	}
  	
	/**
	 * 设置等级比例 如1:1 这里只是记录
	 * 
	 * @param levelProportion 等级比例 如1:1 这里只是记录
	 */
	public void setLevelProportion(String levelProportion) {
		this.levelProportion = levelProportion;
	}

	/**
	 * 获取积分配比  如30:1 这里只是记录
	 * 
	 * @return pointProportion 积分配比  如30:1 这里只是记录
	 */
	public String getPointProportion() {
		return pointProportion;
	}
  	
	/**
	 * 设置积分配比  如30:1 这里只是记录
	 * 
	 * @param pointProportion 积分配比  如30:1 这里只是记录
	 */
	public void setPointProportion(String pointProportion) {
		this.pointProportion = pointProportion;
	}

	/**
	 * 获取备注说明
	 * 
	 * @return remark 备注说明
	 */
	public String getRemark() {
		return remark;
	}
  	
	/**
	 * 设置备注说明
	 * 
	 * @param remark 备注说明
	 */
	public void setRemark(String remark) {
		this.remark = remark;
	}

	/**
	 * 获取是否兑换停车券
	 * 
	 * @return isApplyConpon 是否兑换停车券
	 */
	public Boolean getIsApplyConpon() {
		return isApplyConpon;
	}
  	
	/**
	 * 设置是否兑换停车券
	 * 
	 * @param isApplyConpon 是否兑换停车券
	 */
	public void setIsApplyConpon(Boolean isApplyConpon) {
		this.isApplyConpon = isApplyConpon;
	}

	/**
	 * 获取
	 * 
	 * @return conponId 
	 */
	public String getConponId() {
		return conponId;
	}
  	
	/**
	 * 设置
	 * 
	 * @param conponId 
	 */
	public void setConponId(String conponId) {
		this.conponId = conponId;
	}

	/**
	 * 获取
	 * 
	 * @return createdTime 
	 */
	public LocalDateTime getCreatedTime() {
		return createdTime;
	}
  	
	/**
	 * 设置
	 * 
	 * @param createdTime 
	 */
	public void setCreatedTime(LocalDateTime createdTime) {
		this.createdTime = createdTime;
	}

	/**
	 * 获取
	 * 
	 * @return createdBy 
	 */
	public String getCreatedBy() {
		return createdBy;
	}
  	
	/**
	 * 设置
	 * 
	 * @param createdBy 
	 */
	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}

	/**
	 * 获取
	 * 
	 * @return modifiedTime 
	 */
	public LocalDateTime getModifiedTime() {
		return modifiedTime;
	}
  	
	/**
	 * 设置
	 * 
	 * @param modifiedTime 
	 */
	public void setModifiedTime(LocalDateTime modifiedTime) {
		this.modifiedTime = modifiedTime;
	}

	/**
	 * 获取
	 * 
	 * @return modifiedBy 
	 */
	public String getModifiedBy() {
		return modifiedBy;
	}
  	
	/**
	 * 设置
	 * 
	 * @param modifiedBy 
	 */
	public void setModifiedBy(String modifiedBy) {
		this.modifiedBy = modifiedBy;
	}

	/**
	 * 获取逻辑删除，1表示已删除,0表示未删除
	 * 
	 * @return del 逻辑删除，1表示已删除,0表示未删除
	 */
	public Boolean getDel() {
		return del;
	}
  	
	/**
	 * 设置逻辑删除，1表示已删除,0表示未删除
	 * 
	 * @param del 逻辑删除，1表示已删除,0表示未删除
	 */
	public void setDel(Boolean del) {
		this.del = del;
	}

	/**
	 * 获取
	 * 
	 * @return delBy 
	 */
	public String getDelBy() {
		return delBy;
	}
  	
	/**
	 * 设置
	 * 
	 * @param delBy 
	 */
	public void setDelBy(String delBy) {
		this.delBy = delBy;
	}

	/**
	 * 获取
	 * 
	 * @return delTime 
	 */
	public LocalDateTime getDelTime() {
		return delTime;
	}
  	
	/**
	 * 设置
	 * 
	 * @param delTime 
	 */
	public void setDelTime(LocalDateTime delTime) {
		this.delTime = delTime;
	}

    public String toString() {
		return new StringBuilder().append("ApplyEntity{").
			append("id=").append(id).
			append(",busdId=").append(busdId).
			append(",memberId=").append(memberId).
			append(",mobile=").append(mobile).
			append(",merchantId=").append(merchantId).
			append(",merchantName=").append(merchantName).
			append(",ticketPic=").append(ticketPic).
			append(",ticketNum=").append(ticketNum).
			append(",cost=").append(cost).
			append(",costTime=").append(costTime).
			append(",points=").append(points).
			append(",status=").append(status).
			append(",reason=").append(reason).
			append(",type=").append(type).
			append(",memberLevelId=").append(memberLevelId).
			append(",memberLevelName=").append(memberLevelName).
			append(",levelProportion=").append(levelProportion).
			append(",pointProportion=").append(pointProportion).
			append(",remark=").append(remark).
			append(",isApplyConpon=").append(isApplyConpon).
			append(",conponId=").append(conponId).
			append(",createdTime=").append(createdTime).
			append(",createdBy=").append(createdBy).
			append(",modifiedTime=").append(modifiedTime).
			append(",modifiedBy=").append(modifiedBy).
			append(",del=").append(del).
			append(",delBy=").append(delBy).
			append(",delTime=").append(delTime).
			append('}').toString();
    }

	/**
	 * 复制对象
	 * 
	 * @return 复制后的新实体对象
	 */
	public ApplyEntity copy() {
		return new ApplyEntity(this);
	}

    /**  */
	public static final String COL_ID = "id";

    /** 商圈ID */
	public static final String COL_BUSD_ID = "busd_id";

    /** 会员ID */
	public static final String COL_MEMBER_ID = "member_id";

    /** 手机号 */
	public static final String COL_MOBILE = "mobile";

    /** 商户ID */
	public static final String COL_MERCHANT_ID = "merchant_id";

    /** 商户名称 */
	public static final String COL_MERCHANT_NAME = "merchant_name";

    /** 小票照片 */
	public static final String COL_TICKET_PIC = "ticket_pic";

    /** 票号 */
	public static final String COL_TICKET_NUM = "ticket_num";

    /** 消费金额 */
	public static final String COL_COST = "cost";

    /** 消费时间 */
	public static final String COL_COST_TIME = "cost_time";

    /** 兑换积分 */
	public static final String COL_POINTS = "points";

    /** [枚举]状态：0-申请中-APPLYFOR、1-申请通过-APPLYPASS、2-驳回-REJECTED */
	public static final String COL_STATUS = "status";

    /** 驳回原因 */
	public static final String COL_REASON = "reason";

    /** [枚举]类型：0-机打-MACHINE_PRINT、1-非机打-WRITE */
	public static final String COL_TYPE = "type";

    /** 会员等级id */
	public static final String COL_MEMBER_LEVEL_ID = "member_level_id";

    /** 会员等级名称 */
	public static final String COL_MEMBER_LEVEL_NAME = "member_level_name";

    /** 等级比例 如1:1 这里只是记录 */
	public static final String COL_LEVEL_PROPORTION = "level_proportion";

    /** 积分配比  如30:1 这里只是记录 */
	public static final String COL_POINT_PROPORTION = "point_proportion";

    /** 备注说明 */
	public static final String COL_REMARK = "remark";

    /** 是否兑换停车券 */
	public static final String COL_IS_APPLY_CONPON = "is_apply_conpon";

    /**  */
	public static final String COL_CONPON_ID = "conpon_id";

    /**  */
	public static final String COL_CREATED_TIME = "created_time";

    /**  */
	public static final String COL_CREATED_BY = "created_by";

    /**  */
	public static final String COL_MODIFIED_TIME = "modified_time";

    /**  */
	public static final String COL_MODIFIED_BY = "modified_by";

    /** 逻辑删除，1表示已删除,0表示未删除 */
	public static final String COL_DEL = "del";

    /**  */
	public static final String COL_DEL_BY = "del_by";

    /**  */
	public static final String COL_DEL_TIME = "del_time";
}
